import logging
import redis
from flask import Flask, session, current_app
# 可以用来指定session保存的位置
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
from config import Config
from info import create_app,db,models
#manage.py是程序启动的入口，只关心启动的相关参数以及内容，不关心
#具体该如何创建app或者相关业务逻辑。

#通过制定的配置名字创建对应配置的app
#create_app就类似于工厂方法。
#通过制定的配置名字创建对应的app
from info.models import User

app = create_app("Development")
manager = Manager(app)
#将app与db关联
Migrate(app,db)
#将迁移命令添加到manager中
manager.add_command("db",MigrateCommand)


@manager.option("-n" "-name",dest = "name")
@manager.option("-p","-password",dest ="password")
def createsuperuser(name,password):
    """创建管理员用户"""
    if not all([name,password]):
        print("参数不足")
        return
    user = User()
    user.mobile = name
    user.nick_name = name
    user.password = password
    user.is_admin = True

    try:
        db.session.add(user)
        db.session.commit()
        print("创建成功")
    except Exception as e:
        print(e)
        db.session.rollback()


















if __name__ == '__main__':
    manager.run()